package ooap;

import java.util.Scanner;

/**
 * @author yuisama
 * @date 2022/09/07 21:15
 * 银行卡
 **/
public class Card {
    // 卡号
    private int cardNum;
    // 密码
    private String password;
    // 余额
    private double banlance;
    // 申请银行卡的那一刻
    public Card(int cardNum, String password) {
        this.cardNum = cardNum;
        this.password = password;
    }

    private void test() {
        System.out.println("Card中的私有成员方法");
    }

    private static void fun() {
        System.out.println("Card中的静态私有方法");
    }

    public static void hello() {
        fun();
    }

    public int getCardNum() {
        test();
        return cardNum;
    }

    public double getBanlance() {
        return banlance;
    }

    // 余额和密码这两个属性可以修改，但是必须按照规则来修改
    public void setPassword(String password) {
        // 修改密码之前，需要用户输入现有密码，验证通过之后才能修改！尝试三次
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入旧密码:");
            String oldPass = scanner.nextLine();
            if (oldPass.equals(this.password)) {
                System.out.println("验证成功，开始修改密码");
                this.password = password;
                System.out.println("修改密码成功!");
                return;
            }
        }
        System.out.println("当日尝试次数过多，明天再试试！");
    }
    // 修改余额，存钱或取钱！
    public void setBanlance(double banlance) {
        if (banlance > 0) {
            // 存钱流程
            this.banlance += banlance;
            System.out.println("存钱成功！存入之后的余额为 : " + this.banlance);
        }else {
            // 验证取钱的数字是否超过当前余额
            if (this.banlance + banlance < 0) {
                System.out.println("余额不足，无法取出！");
            }else {
                this.banlance += banlance;
                System.out.println("取钱成功！提款之后账户还剩 : " + this.banlance);
            }
        }
    }

}